package main

import "fmt"

func main() {
	c := make(chan int)

	go func() {
		for i := 0; i < 5; i++ {
			c <- i
		}
		// 关闭通道表示不再向该通道发送数据，但已经发送的数据仍然可以从通道中接收。
		close(c)
	}()

	//for {
	//	// ok如果为true表示channel没有关闭，如果为false表示channel已经关闭
	//	if data, ok := <-c; ok {
	//		fmt.Println(data)
	//	} else {
	//		break
	//	}
	//}

	// 可以使用range来迭代操作channel
	for data := range c {
		fmt.Println(data)
	}

	fmt.Println("Main Finished.")
}
